Apple, the Apple logo, and Macintosh are registered trademarks of Apple Computer, Inc.
Mac and OpenDoc are trademarks of Apple Computer, Inc. (Palatino/10/Plain)
Introduction
OpenDoc supports the Text Services Manager (TSM), and, in particular inline text input. Parts follow almost the same protocol that applications do to support TSM, but they have to do some additional work.
There were a number of problems with TSM support in DR2. They have been fixed. The TextEditor sample part supports inline input using TSM. Please check it out.
General support
OpenDoc calls InitTSMAwareAp, CloseTSMAwareApp, TSMEvent, and SetTSMCursor at the appropriate times. Parts do not need to call any of these.
TSMTE support
Parts wishing to use TSMTE extension must check for its existence themselves. OpenDoc does nothing special to support the TSMTE extension.
Inline input support
To support inline input, applications need to install Apple event handlers. Parts should not install the Apple event handlers. Instead, they should do the analogous thing of instantiating a subclass of the ODSemanticInterface extension and implementing ODPart::GetExtension and ODPart::HasExtension. See the Semantic Events documentation for more details.
OpenDoc calls UseInputWindow(true) whenever a part loses the keystroke focus. Therefore, a part wants to use inline input, it must call UseInputWindow(false) when it gets the keystroke focus.
Parts should make the normal calls to FixTSMDocument, ActivateTSMDocument and DeactivateTSMDocument as appropriate.